Database systems are nearly ubiquitous in modern-day business operations. Most business concerns electronically store at least some sort of information about their operations, inventory, transactions, and customers in database systems. Many companies use very large database systems, commonly known as data warehouses, to better understand the various aspects of their businesses and thus gain competitive advantage over rival companies. Data warehousing systems typically include a complex network of information processing and storage subsystems, complete with analysis tools that help their owners make sense of the vast amounts of information stored in the systems.
In general, companies that use data warehousing systems perform hundreds and even thousands of data-analysis and data-manipulation operations, such as loading data into the databases and retrieving data through database queries, on those systems on a daily basis. These companies also perform routine maintenance or data-definition operations, such as organizing the data into tables and creating indices for these tables, many times per week. Historically, these maintenance operations have required exclusive access to portions of the database and thus have involved the use of locking procedures that prevent, for limited time periods, the execution of data-manipulation operations on the affected portions of the databases. In many data warehousing systems, the number and length of these maintenance operations is very substantial and thus significantly impacts the amount of time that the systems are available for data-manipulation operations. As a result, these maintenance operations are usually carried out in “off-hour” periods, typically in the late-night or early-morning hours.
As the amount of data stored in data warehousing systems and the numbers of concurrent users of those systems increase, the amount of time needed for performing data-manipulation operations is also increasing. Many companies now perform data-manipulation operations well into the off-hour periods during which maintenance operations traditionally have occurred. These companies quite frequently must choose between completing certain data-manipulation operations and initiating maintenance operations that lock portions of the database.